.class final Lorg/jboss/netty/util/internal/jzlib/InfCodes;
.super Ljava/lang/Object;
.source "InfCodes.java"


# static fields
.field private static final BADCODE:I = 0x9

.field private static final COPY:I = 0x5

.field private static final DIST:I = 0x3

.field private static final DISTEXT:I = 0x4

.field private static final END:I = 0x8

.field private static final LEN:I = 0x1

.field private static final LENEXT:I = 0x2

.field private static final LIT:I = 0x6

.field private static final START:I = 0x0

.field private static final WASH:I = 0x7

.field private static final inflate_mask:[I


# instance fields
.field private dbits:B

.field private dist:I

.field private dtree:[I

.field private dtree_index:I

.field private get:I

.field private lbits:B

.field private len:I

.field private lit:I

.field private ltree:[I

.field private ltree_index:I

.field private mode:I

.field private need:I

.field private tree:[I

.field private tree_index:I


# direct methods
.method static constructor <clinit>()V
    .locals 1

    .prologue
    .line 52
    const/16 v0, 0x11

    new-array v0, v0, [I

    fill-array-data v0, :array_0

    sput-object v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->inflate_mask:[I

    return-void

    :array_0
    .array-data 0x4
        0x0t 0x0t 0x0t 0x0t
        0x1t 0x0t 0x0t 0x0t
        0x3t 0x0t 0x0t 0x0t
        0x7t 0x0t 0x0t 0x0t
        0xft 0x0t 0x0t 0x0t
        0x1ft 0x0t 0x0t 0x0t
        0x3ft 0x0t 0x0t 0x0t
        0x7ft 0x0t 0x0t 0x0t
        0xfft 0x0t 0x0t 0x0t
        0xfft 0x1t 0x0t 0x0t
        0xfft 0x3t 0x0t 0x0t
        0xfft 0x7t 0x0t 0x0t
        0xfft 0xft 0x0t 0x0t
        0xfft 0x1ft 0x0t 0x0t
        0xfft 0x3ft 0x0t 0x0t
        0xfft 0x7ft 0x0t 0x0t
        0xfft 0xfft 0x0t 0x0t
    .end array-data
.end method

.method constructor <init>()V
    .locals 1

    .prologue
    .line 88
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 74
    const/4 v0, 0x0

    iput v0, p0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->tree_index:I

    .line 89
    return-void
.end method


# virtual methods
.method inflate_fast(II[II[IILorg/jboss/netty/util/internal/jzlib/InfBlocks;Lorg/jboss/netty/util/internal/jzlib/ZStream;)I
    .locals 28
    .parameter "bl"
    .parameter "bd"
    .parameter "tl"
    .parameter "tl_index"
    .parameter "td"
    .parameter "td_index"
    .parameter "s"
    .parameter "z"

    .prologue
    .line 484
    move-object/from16 v0, p8

    iget v14, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    .line 485
    .local v14, p:I
    move-object/from16 v0, p8

    iget v13, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->avail_in:I

    .line 486
    .local v13, n:I
    move-object/from16 v0, p7

    iget v5, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitb:I

    .line 487
    .local v5, b:I
    move-object/from16 v0, p7

    iget v9, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitk:I

    .line 488
    .local v9, k:I
    move-object/from16 v0, p7

    iget v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->write:I

    move/from16 v16, v0

    .line 489
    .local v16, q:I
    move-object/from16 v0, p7

    iget v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->read:I

    move/from16 v24, v0

    move/from16 v0, v16

    move/from16 v1, v24

    if-ge v0, v1, :cond_0

    move-object/from16 v0, p7

    iget v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->read:I

    move/from16 v24, v0

    sub-int v24, v24, v16

    add-int/lit8 v10, v24, -0x1

    .line 492
    .local v10, m:I
    :goto_0
    sget-object v24, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->inflate_mask:[I

    aget v12, v24, p1

    .line 493
    .local v12, ml:I
    sget-object v24, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->inflate_mask:[I

    aget v11, v24, p2

    .local v11, md:I
    move/from16 v17, v16

    .end local v16           #q:I
    .local v17, q:I
    move v15, v14

    .line 498
    .end local v14           #p:I
    .local v15, p:I
    :goto_1
    const/16 v24, 0x14

    move/from16 v0, v24

    if-ge v9, v0, :cond_1

    .line 499
    add-int/lit8 v13, v13, -0x1

    .line 500
    move-object/from16 v0, p8

    iget-object v0, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in:[B

    move-object/from16 v24, v0

    add-int/lit8 v14, v15, 0x1

    .end local v15           #p:I
    .restart local v14       #p:I
    aget-byte v24, v24, v15

    move/from16 v0, v24

    and-int/lit16 v0, v0, 0xff

    move/from16 v24, v0

    shl-int v24, v24, v9

    or-int v5, v5, v24

    .line 501
    add-int/lit8 v9, v9, 0x8

    move v15, v14

    .end local v14           #p:I
    .restart local v15       #p:I
    goto :goto_1

    .line 489
    .end local v10           #m:I
    .end local v11           #md:I
    .end local v12           #ml:I
    .end local v15           #p:I
    .end local v17           #q:I
    .restart local v14       #p:I
    .restart local v16       #q:I
    :cond_0
    move-object/from16 v0, p7

    iget v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->end:I

    move/from16 v24, v0

    sub-int v10, v24, v16

    goto :goto_0

    .line 504
    .end local v14           #p:I
    .end local v16           #q:I
    .restart local v10       #m:I
    .restart local v11       #md:I
    .restart local v12       #ml:I
    .restart local v15       #p:I
    .restart local v17       #q:I
    :cond_1
    and-int v20, v5, v12

    .line 505
    .local v20, t:I
    move-object/from16 v21, p3

    .line 506
    .local v21, tp:[I
    move/from16 v22, p4

    .line 507
    .local v22, tp_index:I
    add-int v24, v22, v20

    mul-int/lit8 v23, v24, 0x3

    .line 508
    .local v23, tp_index_t_3:I
    aget v8, v21, v23

    .local v8, e:I
    if-nez v8, :cond_4

    .line 509
    add-int/lit8 v24, v23, 0x1

    aget v24, v21, v24

    shr-int v5, v5, v24

    .line 510
    add-int/lit8 v24, v23, 0x1

    aget v24, v21, v24

    sub-int v9, v9, v24

    .line 512
    move-object/from16 v0, p7

    iget-object v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->window:[B

    move-object/from16 v24, v0

    add-int/lit8 v16, v17, 0x1

    .end local v17           #q:I
    .restart local v16       #q:I
    add-int/lit8 v25, v23, 0x2

    aget v25, v21, v25

    move/from16 v0, v25

    int-to-byte v0, v0

    move/from16 v25, v0

    aput-byte v25, v24, v17

    .line 513
    add-int/lit8 v10, v10, -0x1

    move v14, v15

    .line 687
    .end local v15           #p:I
    .restart local v14       #p:I
    :goto_2
    const/16 v24, 0x102

    move/from16 v0, v24

    if-lt v10, v0, :cond_2

    const/16 v24, 0xa

    move/from16 v0, v24

    if-ge v13, v0, :cond_14

    .line 690
    :cond_2
    move-object/from16 v0, p8

    iget v0, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->avail_in:I

    move/from16 v24, v0

    sub-int v6, v24, v13

    .line 691
    .local v6, c:I
    shr-int/lit8 v24, v9, 0x3

    move/from16 v0, v24

    if-ge v0, v6, :cond_3

    shr-int/lit8 v6, v9, 0x3

    .line 692
    :cond_3
    add-int/2addr v13, v6

    .line 693
    sub-int/2addr v14, v6

    .line 694
    shl-int/lit8 v24, v6, 0x3

    sub-int v9, v9, v24

    .line 696
    move-object/from16 v0, p7

    iput v5, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitb:I

    .line 697
    move-object/from16 v0, p7

    iput v9, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitk:I

    .line 698
    move-object/from16 v0, p8

    iput v13, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->avail_in:I

    .line 699
    move-object/from16 v0, p8

    iget-wide v0, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    move-wide/from16 v24, v0

    move-object/from16 v0, p8

    iget v0, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    move/from16 v26, v0

    sub-int v26, v14, v26

    move/from16 v0, v26

    int-to-long v0, v0

    move-wide/from16 v26, v0

    add-long v24, v24, v26

    move-wide/from16 v0, v24

    move-object/from16 v2, p8

    iput-wide v0, v2, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    .line 700
    move-object/from16 v0, p8

    iput v14, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    .line 701
    move/from16 v0, v16

    move-object/from16 v1, p7

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->write:I

    .line 703
    const/16 v24, 0x0

    :goto_3
    return v24

    .line 518
    .end local v6           #c:I
    .end local v14           #p:I
    .end local v16           #q:I
    .restart local v15       #p:I
    .restart local v17       #q:I
    :cond_4
    add-int/lit8 v24, v23, 0x1

    aget v24, v21, v24

    shr-int v5, v5, v24

    .line 519
    add-int/lit8 v24, v23, 0x1

    aget v24, v21, v24

    sub-int v9, v9, v24

    .line 521
    and-int/lit8 v24, v8, 0x10

    if-eqz v24, :cond_f

    .line 522
    and-int/lit8 v8, v8, 0xf

    .line 523
    add-int/lit8 v24, v23, 0x2

    aget v24, v21, v24

    sget-object v25, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->inflate_mask:[I

    aget v25, v25, v8

    and-int v25, v25, v5

    add-int v6, v24, v25

    .line 525
    .restart local v6       #c:I
    shr-int/2addr v5, v8

    .line 526
    sub-int/2addr v9, v8

    .line 529
    :goto_4
    const/16 v24, 0xf

    move/from16 v0, v24

    if-ge v9, v0, :cond_5

    .line 530
    add-int/lit8 v13, v13, -0x1

    .line 531
    move-object/from16 v0, p8

    iget-object v0, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in:[B

    move-object/from16 v24, v0

    add-int/lit8 v14, v15, 0x1

    .end local v15           #p:I
    .restart local v14       #p:I
    aget-byte v24, v24, v15

    move/from16 v0, v24

    and-int/lit16 v0, v0, 0xff

    move/from16 v24, v0

    shl-int v24, v24, v9

    or-int v5, v5, v24

    .line 532
    add-int/lit8 v9, v9, 0x8

    move v15, v14

    .end local v14           #p:I
    .restart local v15       #p:I
    goto :goto_4

    .line 535
    :cond_5
    and-int v20, v5, v11

    .line 536
    move-object/from16 v21, p5

    .line 537
    move/from16 v22, p6

    .line 538
    add-int v24, v22, v20

    mul-int/lit8 v23, v24, 0x3

    .line 539
    aget v8, v21, v23

    .line 543
    :goto_5
    add-int/lit8 v24, v23, 0x1

    aget v24, v21, v24

    shr-int v5, v5, v24

    .line 544
    add-int/lit8 v24, v23, 0x1

    aget v24, v21, v24

    sub-int v9, v9, v24

    .line 546
    and-int/lit8 v24, v8, 0x10

    if-eqz v24, :cond_c

    .line 548
    and-int/lit8 v8, v8, 0xf

    .line 549
    :goto_6
    if-ge v9, v8, :cond_6

    .line 550
    add-int/lit8 v13, v13, -0x1

    .line 551
    move-object/from16 v0, p8

    iget-object v0, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in:[B

    move-object/from16 v24, v0

    add-int/lit8 v14, v15, 0x1

    .end local v15           #p:I
    .restart local v14       #p:I
    aget-byte v24, v24, v15

    move/from16 v0, v24

    and-int/lit16 v0, v0, 0xff

    move/from16 v24, v0

    shl-int v24, v24, v9

    or-int v5, v5, v24

    .line 552
    add-int/lit8 v9, v9, 0x8

    move v15, v14

    .end local v14           #p:I
    .restart local v15       #p:I
    goto :goto_6

    .line 555
    :cond_6
    add-int/lit8 v24, v23, 0x2

    aget v24, v21, v24

    sget-object v25, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->inflate_mask:[I

    aget v25, v25, v8

    and-int v25, v25, v5

    add-int v7, v24, v25

    .line 557
    .local v7, d:I
    shr-int/2addr v5, v8

    .line 558
    sub-int/2addr v9, v8

    .line 561
    sub-int/2addr v10, v6

    .line 562
    move/from16 v0, v17

    if-lt v0, v7, :cond_8

    .line 564
    sub-int v18, v17, v7

    .line 565
    .local v18, r:I
    sub-int v24, v17, v18

    if-lez v24, :cond_7

    const/16 v24, 0x2

    sub-int v25, v17, v18

    move/from16 v0, v24

    move/from16 v1, v25

    if-le v0, v1, :cond_7

    .line 566
    move-object/from16 v0, p7

    iget-object v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->window:[B

    move-object/from16 v24, v0

    add-int/lit8 v16, v17, 0x1

    .end local v17           #q:I
    .restart local v16       #q:I
    move-object/from16 v0, p7

    iget-object v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->window:[B

    move-object/from16 v25, v0

    add-int/lit8 v19, v18, 0x1

    .end local v18           #r:I
    .local v19, r:I
    aget-byte v25, v25, v18

    aput-byte v25, v24, v17

    .line 567
    move-object/from16 v0, p7

    iget-object v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->window:[B

    move-object/from16 v24, v0

    add-int/lit8 v17, v16, 0x1

    .end local v16           #q:I
    .restart local v17       #q:I
    move-object/from16 v0, p7

    iget-object v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->window:[B

    move-object/from16 v25, v0

    add-int/lit8 v18, v19, 0x1

    .end local v19           #r:I
    .restart local v18       #r:I
    aget-byte v25, v25, v19

    aput-byte v25, v24, v16

    .line 568
    add-int/lit8 v6, v6, -0x2

    move/from16 v16, v17

    .line 601
    .end local v17           #q:I
    .restart local v16       #q:I
    :goto_7
    sub-int v24, v16, v18

    if-lez v24, :cond_b

    sub-int v24, v16, v18

    move/from16 v0, v24

    if-le v6, v0, :cond_b

    .line 603
    :goto_8
    move-object/from16 v0, p7

    iget-object v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->window:[B

    move-object/from16 v24, v0

    add-int/lit8 v17, v16, 0x1

    .end local v16           #q:I
    .restart local v17       #q:I
    move-object/from16 v0, p7

    iget-object v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->window:[B

    move-object/from16 v25, v0

    add-int/lit8 v19, v18, 0x1

    .end local v18           #r:I
    .restart local v19       #r:I
    aget-byte v25, v25, v18

    aput-byte v25, v24, v16

    .line 604
    add-int/lit8 v6, v6, -0x1

    if-nez v6, :cond_15

    move/from16 v16, v17

    .end local v17           #q:I
    .restart local v16       #q:I
    move v14, v15

    .end local v15           #p:I
    .restart local v14       #p:I
    goto/16 :goto_2

    .line 570
    .end local v14           #p:I
    .end local v16           #q:I
    .end local v19           #r:I
    .restart local v15       #p:I
    .restart local v17       #q:I
    .restart local v18       #r:I
    :cond_7
    move-object/from16 v0, p7

    iget-object v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->window:[B

    move-object/from16 v24, v0

    move-object/from16 v0, p7

    iget-object v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->window:[B

    move-object/from16 v25, v0

    const/16 v26, 0x2

    move-object/from16 v0, v24

    move/from16 v1, v18

    move-object/from16 v2, v25

    move/from16 v3, v17

    move/from16 v4, v26

    invoke-static {v0, v1, v2, v3, v4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    .line 572
    add-int/lit8 v16, v17, 0x2

    .line 573
    .end local v17           #q:I
    .restart local v16       #q:I
    add-int/lit8 v18, v18, 0x2

    .line 574
    add-int/lit8 v6, v6, -0x2

    goto :goto_7

    .line 577
    .end local v16           #q:I
    .end local v18           #r:I
    .restart local v17       #q:I
    :cond_8
    sub-int v18, v17, v7

    .line 579
    .restart local v18       #r:I
    :cond_9
    move-object/from16 v0, p7

    iget v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->end:I

    move/from16 v24, v0

    add-int v18, v18, v24

    .line 580
    if-ltz v18, :cond_9

    .line 581
    move-object/from16 v0, p7

    iget v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->end:I

    move/from16 v24, v0

    sub-int v8, v24, v18

    .line 582
    if-le v6, v8, :cond_17

    .line 583
    sub-int/2addr v6, v8

    .line 584
    sub-int v24, v17, v18

    if-lez v24, :cond_a

    sub-int v24, v17, v18

    move/from16 v0, v24

    if-le v8, v0, :cond_a

    move/from16 v16, v17

    .line 586
    .end local v17           #q:I
    .restart local v16       #q:I
    :goto_9
    move-object/from16 v0, p7

    iget-object v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->window:[B

    move-object/from16 v24, v0

    add-int/lit8 v17, v16, 0x1

    .end local v16           #q:I
    .restart local v17       #q:I
    move-object/from16 v0, p7

    iget-object v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->window:[B

    move-object/from16 v25, v0

    add-int/lit8 v19, v18, 0x1

    .end local v18           #r:I
    .restart local v19       #r:I
    aget-byte v25, v25, v18

    aput-byte v25, v24, v16

    .line 587
    add-int/lit8 v8, v8, -0x1

    if-nez v8, :cond_16

    move/from16 v18, v19

    .end local v19           #r:I
    .restart local v18       #r:I
    move/from16 v16, v17

    .line 595
    .end local v17           #q:I
    .restart local v16       #q:I
    :goto_a
    const/16 v18, 0x0

    goto/16 :goto_7

    .line 589
    .end local v16           #q:I
    .restart local v17       #q:I
    :cond_a
    move-object/from16 v0, p7

    iget-object v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->window:[B

    move-object/from16 v24, v0

    move-object/from16 v0, p7

    iget-object v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->window:[B

    move-object/from16 v25, v0

    move-object/from16 v0, v24

    move/from16 v1, v18

    move-object/from16 v2, v25

    move/from16 v3, v17

    invoke-static {v0, v1, v2, v3, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    .line 591
    add-int v16, v17, v8

    .line 592
    .end local v17           #q:I
    .restart local v16       #q:I
    add-int v18, v18, v8

    .line 593
    const/4 v8, 0x0

    goto :goto_a

    .line 606
    :cond_b
    move-object/from16 v0, p7

    iget-object v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->window:[B

    move-object/from16 v24, v0

    move-object/from16 v0, p7

    iget-object v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->window:[B

    move-object/from16 v25, v0

    move-object/from16 v0, v24

    move/from16 v1, v18

    move-object/from16 v2, v25

    move/from16 v3, v16

    invoke-static {v0, v1, v2, v3, v6}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    .line 607
    add-int v16, v16, v6

    .line 608
    add-int v18, v18, v6

    .line 609
    const/4 v6, 0x0

    move v14, v15

    .line 611
    .end local v15           #p:I
    .restart local v14       #p:I
    goto/16 :goto_2

    .line 612
    .end local v7           #d:I
    .end local v14           #p:I
    .end local v16           #q:I
    .end local v18           #r:I
    .restart local v15       #p:I
    .restart local v17       #q:I
    :cond_c
    and-int/lit8 v24, v8, 0x40

    if-nez v24, :cond_d

    .line 613
    add-int/lit8 v24, v23, 0x2

    aget v24, v21, v24

    add-int v20, v20, v24

    .line 614
    sget-object v24, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->inflate_mask:[I

    aget v24, v24, v8

    and-int v24, v24, v5

    add-int v20, v20, v24

    .line 615
    add-int v24, v22, v20

    mul-int/lit8 v23, v24, 0x3

    .line 616
    aget v8, v21, v23

    goto/16 :goto_5

    .line 618
    :cond_d
    const-string v24, "invalid distance code"

    move-object/from16 v0, v24

    move-object/from16 v1, p8

    iput-object v0, v1, Lorg/jboss/netty/util/internal/jzlib/ZStream;->msg:Ljava/lang/String;

    .line 620
    move-object/from16 v0, p8

    iget v0, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->avail_in:I

    move/from16 v24, v0

    sub-int v6, v24, v13

    .line 621
    shr-int/lit8 v24, v9, 0x3

    move/from16 v0, v24

    if-ge v0, v6, :cond_e

    shr-int/lit8 v6, v9, 0x3

    .line 622
    :cond_e
    add-int/2addr v13, v6

    .line 623
    sub-int v14, v15, v6

    .line 624
    .end local v15           #p:I
    .restart local v14       #p:I
    shl-int/lit8 v24, v6, 0x3

    sub-int v9, v9, v24

    .line 626
    move-object/from16 v0, p7

    iput v5, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitb:I

    .line 627
    move-object/from16 v0, p7

    iput v9, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitk:I

    .line 628
    move-object/from16 v0, p8

    iput v13, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->avail_in:I

    .line 629
    move-object/from16 v0, p8

    iget-wide v0, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    move-wide/from16 v24, v0

    move-object/from16 v0, p8

    iget v0, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    move/from16 v26, v0

    sub-int v26, v14, v26

    move/from16 v0, v26

    int-to-long v0, v0

    move-wide/from16 v26, v0

    add-long v24, v24, v26

    move-wide/from16 v0, v24

    move-object/from16 v2, p8

    iput-wide v0, v2, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    .line 630
    move-object/from16 v0, p8

    iput v14, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    .line 631
    move/from16 v0, v17

    move-object/from16 v1, p7

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->write:I

    .line 633
    const/16 v24, -0x3

    move/from16 v16, v17

    .end local v17           #q:I
    .restart local v16       #q:I
    goto/16 :goto_3

    .line 639
    .end local v6           #c:I
    .end local v14           #p:I
    .end local v16           #q:I
    .restart local v15       #p:I
    .restart local v17       #q:I
    :cond_f
    and-int/lit8 v24, v8, 0x40

    if-nez v24, :cond_10

    .line 640
    add-int/lit8 v24, v23, 0x2

    aget v24, v21, v24

    add-int v20, v20, v24

    .line 641
    sget-object v24, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->inflate_mask:[I

    aget v24, v24, v8

    and-int v24, v24, v5

    add-int v20, v20, v24

    .line 642
    add-int v24, v22, v20

    mul-int/lit8 v23, v24, 0x3

    .line 643
    aget v8, v21, v23

    if-nez v8, :cond_4

    .line 645
    add-int/lit8 v24, v23, 0x1

    aget v24, v21, v24

    shr-int v5, v5, v24

    .line 646
    add-int/lit8 v24, v23, 0x1

    aget v24, v21, v24

    sub-int v9, v9, v24

    .line 648
    move-object/from16 v0, p7

    iget-object v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->window:[B

    move-object/from16 v24, v0

    add-int/lit8 v16, v17, 0x1

    .end local v17           #q:I
    .restart local v16       #q:I
    add-int/lit8 v25, v23, 0x2

    aget v25, v21, v25

    move/from16 v0, v25

    int-to-byte v0, v0

    move/from16 v25, v0

    aput-byte v25, v24, v17

    .line 649
    add-int/lit8 v10, v10, -0x1

    move v14, v15

    .line 650
    .end local v15           #p:I
    .restart local v14       #p:I
    goto/16 :goto_2

    .line 652
    .end local v14           #p:I
    .end local v16           #q:I
    .restart local v15       #p:I
    .restart local v17       #q:I
    :cond_10
    and-int/lit8 v24, v8, 0x20

    if-eqz v24, :cond_12

    .line 654
    move-object/from16 v0, p8

    iget v0, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->avail_in:I

    move/from16 v24, v0

    sub-int v6, v24, v13

    .line 655
    .restart local v6       #c:I
    shr-int/lit8 v24, v9, 0x3

    move/from16 v0, v24

    if-ge v0, v6, :cond_11

    shr-int/lit8 v6, v9, 0x3

    .line 656
    :cond_11
    add-int/2addr v13, v6

    .line 657
    sub-int v14, v15, v6

    .line 658
    .end local v15           #p:I
    .restart local v14       #p:I
    shl-int/lit8 v24, v6, 0x3

    sub-int v9, v9, v24

    .line 660
    move-object/from16 v0, p7

    iput v5, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitb:I

    .line 661
    move-object/from16 v0, p7

    iput v9, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitk:I

    .line 662
    move-object/from16 v0, p8

    iput v13, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->avail_in:I

    .line 663
    move-object/from16 v0, p8

    iget-wide v0, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    move-wide/from16 v24, v0

    move-object/from16 v0, p8

    iget v0, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    move/from16 v26, v0

    sub-int v26, v14, v26

    move/from16 v0, v26

    int-to-long v0, v0

    move-wide/from16 v26, v0

    add-long v24, v24, v26

    move-wide/from16 v0, v24

    move-object/from16 v2, p8

    iput-wide v0, v2, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    .line 664
    move-object/from16 v0, p8

    iput v14, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    .line 665
    move/from16 v0, v17

    move-object/from16 v1, p7

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->write:I

    .line 667
    const/16 v24, 0x1

    move/from16 v16, v17

    .end local v17           #q:I
    .restart local v16       #q:I
    goto/16 :goto_3

    .line 669
    .end local v6           #c:I
    .end local v14           #p:I
    .end local v16           #q:I
    .restart local v15       #p:I
    .restart local v17       #q:I
    :cond_12
    const-string v24, "invalid literal/length code"

    move-object/from16 v0, v24

    move-object/from16 v1, p8

    iput-object v0, v1, Lorg/jboss/netty/util/internal/jzlib/ZStream;->msg:Ljava/lang/String;

    .line 671
    move-object/from16 v0, p8

    iget v0, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->avail_in:I

    move/from16 v24, v0

    sub-int v6, v24, v13

    .line 672
    .restart local v6       #c:I
    shr-int/lit8 v24, v9, 0x3

    move/from16 v0, v24

    if-ge v0, v6, :cond_13

    shr-int/lit8 v6, v9, 0x3

    .line 673
    :cond_13
    add-int/2addr v13, v6

    .line 674
    sub-int v14, v15, v6

    .line 675
    .end local v15           #p:I
    .restart local v14       #p:I
    shl-int/lit8 v24, v6, 0x3

    sub-int v9, v9, v24

    .line 677
    move-object/from16 v0, p7

    iput v5, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitb:I

    .line 678
    move-object/from16 v0, p7

    iput v9, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitk:I

    .line 679
    move-object/from16 v0, p8

    iput v13, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->avail_in:I

    .line 680
    move-object/from16 v0, p8

    iget-wide v0, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    move-wide/from16 v24, v0

    move-object/from16 v0, p8

    iget v0, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    move/from16 v26, v0

    sub-int v26, v14, v26

    move/from16 v0, v26

    int-to-long v0, v0

    move-wide/from16 v26, v0

    add-long v24, v24, v26

    move-wide/from16 v0, v24

    move-object/from16 v2, p8

    iput-wide v0, v2, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    .line 681
    move-object/from16 v0, p8

    iput v14, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    .line 682
    move/from16 v0, v17

    move-object/from16 v1, p7

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->write:I

    .line 684
    const/16 v24, -0x3

    move/from16 v16, v17

    .end local v17           #q:I
    .restart local v16       #q:I
    goto/16 :goto_3

    .end local v6           #c:I
    :cond_14
    move/from16 v17, v16

    .end local v16           #q:I
    .restart local v17       #q:I
    move v15, v14

    .end local v14           #p:I
    .restart local v15       #p:I
    goto/16 :goto_1

    .restart local v6       #c:I
    .restart local v7       #d:I
    .restart local v19       #r:I
    :cond_15
    move/from16 v18, v19

    .end local v19           #r:I
    .restart local v18       #r:I
    move/from16 v16, v17

    .end local v17           #q:I
    .restart local v16       #q:I
    goto/16 :goto_8

    .end local v16           #q:I
    .end local v18           #r:I
    .restart local v17       #q:I
    .restart local v19       #r:I
    :cond_16
    move/from16 v18, v19

    .end local v19           #r:I
    .restart local v18       #r:I
    move/from16 v16, v17

    .end local v17           #q:I
    .restart local v16       #q:I
    goto/16 :goto_9

    .end local v16           #q:I
    .restart local v17       #q:I
    :cond_17
    move/from16 v16, v17

    .end local v17           #q:I
    .restart local v16       #q:I
    goto/16 :goto_7
.end method

.method init(II[II[II)V
    .locals 1
    .parameter "bl"
    .parameter "bd"
    .parameter "tl"
    .parameter "tl_index"
    .parameter "td"
    .parameter "td_index"

    .prologue
    .line 92
    const/4 v0, 0x0

    iput v0, p0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->mode:I

    .line 93
    int-to-byte v0, p1

    iput-byte v0, p0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->lbits:B

    .line 94
    int-to-byte v0, p2

    iput-byte v0, p0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->dbits:B

    .line 95
    iput-object p3, p0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->ltree:[I

    .line 96
    iput p4, p0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->ltree_index:I

    .line 97
    iput-object p5, p0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->dtree:[I

    .line 98
    iput p6, p0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->dtree_index:I

    .line 99
    const/4 v0, 0x0

    iput-object v0, p0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->tree:[I

    .line 100
    return-void
.end method

.method proc(Lorg/jboss/netty/util/internal/jzlib/InfBlocks;Lorg/jboss/netty/util/internal/jzlib/ZStream;I)I
    .locals 24
    .parameter "s"
    .parameter "z"
    .parameter "r"

    .prologue
    .line 106
    const/4 v11, 0x0

    .line 107
    .local v11, b:I
    const/16 v16, 0x0

    .line 108
    .local v16, k:I
    const/16 v19, 0x0

    .line 115
    .local v19, p:I
    move-object/from16 v0, p2

    iget v0, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    move/from16 v19, v0

    .line 116
    move-object/from16 v0, p2

    iget v0, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->avail_in:I

    move/from16 v18, v0

    .line 117
    .local v18, n:I
    move-object/from16 v0, p1

    iget v11, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitb:I

    .line 118
    move-object/from16 v0, p1

    iget v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitk:I

    move/from16 v16, v0

    .line 119
    move-object/from16 v0, p1

    iget v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->write:I

    move/from16 v21, v0

    .line 120
    .local v21, q:I
    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->read:I

    move/from16 v0, v21

    if-ge v0, v2, :cond_0

    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->read:I

    sub-int v2, v2, v21

    add-int/lit8 v17, v2, -0x1

    .line 124
    .local v17, m:I
    :goto_0
    move-object/from16 v0, p0

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->mode:I

    packed-switch v2, :pswitch_data_0

    .line 445
    const/16 p3, -0x2

    .line 447
    move-object/from16 v0, p1

    iput v11, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitb:I

    .line 448
    move/from16 v0, v16

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitk:I

    .line 449
    move/from16 v0, v18

    move-object/from16 v1, p2

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/ZStream;->avail_in:I

    .line 450
    move-object/from16 v0, p2

    iget-wide v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    move-object/from16 v0, p2

    iget v4, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    sub-int v4, v19, v4

    int-to-long v4, v4

    add-long/2addr v2, v4

    move-object/from16 v0, p2

    iput-wide v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    .line 451
    move/from16 v0, v19

    move-object/from16 v1, p2

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    .line 452
    move/from16 v0, v21

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->write:I

    .line 453
    invoke-virtual/range {p1 .. p3}, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->inflate_flush(Lorg/jboss/netty/util/internal/jzlib/ZStream;I)I

    move-result v2

    :goto_1
    return v2

    .line 120
    .end local v17           #m:I
    :cond_0
    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->end:I

    sub-int v17, v2, v21

    goto :goto_0

    .line 127
    .restart local v17       #m:I
    :pswitch_0
    const/16 v2, 0x102

    move/from16 v0, v17

    if-lt v0, v2, :cond_3

    const/16 v2, 0xa

    move/from16 v0, v18

    if-lt v0, v2, :cond_3

    .line 129
    move-object/from16 v0, p1

    iput v11, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitb:I

    .line 130
    move/from16 v0, v16

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitk:I

    .line 131
    move/from16 v0, v18

    move-object/from16 v1, p2

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/ZStream;->avail_in:I

    .line 132
    move-object/from16 v0, p2

    iget-wide v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    move-object/from16 v0, p2

    iget v4, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    sub-int v4, v19, v4

    int-to-long v4, v4

    add-long/2addr v2, v4

    move-object/from16 v0, p2

    iput-wide v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    .line 133
    move/from16 v0, v19

    move-object/from16 v1, p2

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    .line 134
    move/from16 v0, v21

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->write:I

    .line 135
    move-object/from16 v0, p0

    iget-byte v3, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->lbits:B

    move-object/from16 v0, p0

    iget-byte v4, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->dbits:B

    move-object/from16 v0, p0

    iget-object v5, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->ltree:[I

    move-object/from16 v0, p0

    iget v6, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->ltree_index:I

    move-object/from16 v0, p0

    iget-object v7, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->dtree:[I

    move-object/from16 v0, p0

    iget v8, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->dtree_index:I

    move-object/from16 v2, p0

    move-object/from16 v9, p1

    move-object/from16 v10, p2

    invoke-virtual/range {v2 .. v10}, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->inflate_fast(II[II[IILorg/jboss/netty/util/internal/jzlib/InfBlocks;Lorg/jboss/netty/util/internal/jzlib/ZStream;)I

    move-result p3

    .line 138
    move-object/from16 v0, p2

    iget v0, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    move/from16 v19, v0

    .line 139
    move-object/from16 v0, p2

    iget v0, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->avail_in:I

    move/from16 v18, v0

    .line 140
    move-object/from16 v0, p1

    iget v11, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitb:I

    .line 141
    move-object/from16 v0, p1

    iget v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitk:I

    move/from16 v16, v0

    .line 142
    move-object/from16 v0, p1

    iget v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->write:I

    move/from16 v21, v0

    .line 143
    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->read:I

    move/from16 v0, v21

    if-ge v0, v2, :cond_1

    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->read:I

    sub-int v2, v2, v21

    add-int/lit8 v17, v2, -0x1

    .line 145
    :goto_2
    if-eqz p3, :cond_3

    .line 146
    const/4 v2, 0x1

    move/from16 v0, p3

    if-ne v0, v2, :cond_2

    const/4 v2, 0x7

    :goto_3
    move-object/from16 v0, p0

    iput v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->mode:I

    goto/16 :goto_0

    .line 143
    :cond_1
    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->end:I

    sub-int v17, v2, v21

    goto :goto_2

    .line 146
    :cond_2
    const/16 v2, 0x9

    goto :goto_3

    .line 150
    :cond_3
    move-object/from16 v0, p0

    iget-byte v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->lbits:B

    move-object/from16 v0, p0

    iput v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->need:I

    .line 151
    move-object/from16 v0, p0

    iget-object v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->ltree:[I

    move-object/from16 v0, p0

    iput-object v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->tree:[I

    .line 152
    move-object/from16 v0, p0

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->ltree_index:I

    move-object/from16 v0, p0

    iput v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->tree_index:I

    .line 154
    const/4 v2, 0x1

    move-object/from16 v0, p0

    iput v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->mode:I

    .line 156
    :pswitch_1
    move-object/from16 v0, p0

    iget v15, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->need:I

    .local v15, j:I
    move/from16 v20, v19

    .line 158
    .end local v19           #p:I
    .local v20, p:I
    :goto_4
    move/from16 v0, v16

    if-ge v0, v15, :cond_5

    .line 159
    if-eqz v18, :cond_4

    .line 160
    const/16 p3, 0x0

    .line 171
    add-int/lit8 v18, v18, -0x1

    .line 172
    move-object/from16 v0, p2

    iget-object v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in:[B

    add-int/lit8 v19, v20, 0x1

    .end local v20           #p:I
    .restart local v19       #p:I
    aget-byte v2, v2, v20

    and-int/lit16 v2, v2, 0xff

    shl-int v2, v2, v16

    or-int/2addr v11, v2

    .line 173
    add-int/lit8 v16, v16, 0x8

    move/from16 v20, v19

    .end local v19           #p:I
    .restart local v20       #p:I
    goto :goto_4

    .line 163
    :cond_4
    move-object/from16 v0, p1

    iput v11, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitb:I

    .line 164
    move/from16 v0, v16

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitk:I

    .line 165
    move/from16 v0, v18

    move-object/from16 v1, p2

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/ZStream;->avail_in:I

    .line 166
    move-object/from16 v0, p2

    iget-wide v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    move-object/from16 v0, p2

    iget v4, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    sub-int v4, v20, v4

    int-to-long v4, v4

    add-long/2addr v2, v4

    move-object/from16 v0, p2

    iput-wide v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    .line 167
    move/from16 v0, v20

    move-object/from16 v1, p2

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    .line 168
    move/from16 v0, v21

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->write:I

    .line 169
    invoke-virtual/range {p1 .. p3}, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->inflate_flush(Lorg/jboss/netty/util/internal/jzlib/ZStream;I)I

    move-result v2

    move/from16 v19, v20

    .end local v20           #p:I
    .restart local v19       #p:I
    goto/16 :goto_1

    .line 176
    .end local v19           #p:I
    .restart local v20       #p:I
    :cond_5
    move-object/from16 v0, p0

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->tree_index:I

    sget-object v3, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->inflate_mask:[I

    aget v3, v3, v15

    and-int/2addr v3, v11

    add-int/2addr v2, v3

    mul-int/lit8 v23, v2, 0x3

    .line 178
    .local v23, tindex:I
    move-object/from16 v0, p0

    iget-object v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->tree:[I

    add-int/lit8 v3, v23, 0x1

    aget v2, v2, v3

    ushr-int/2addr v11, v2

    .line 179
    move-object/from16 v0, p0

    iget-object v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->tree:[I

    add-int/lit8 v3, v23, 0x1

    aget v2, v2, v3

    sub-int v16, v16, v2

    .line 181
    move-object/from16 v0, p0

    iget-object v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->tree:[I

    aget v12, v2, v23

    .line 183
    .local v12, e:I
    if-nez v12, :cond_6

    .line 184
    move-object/from16 v0, p0

    iget-object v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->tree:[I

    add-int/lit8 v3, v23, 0x2

    aget v2, v2, v3

    move-object/from16 v0, p0

    iput v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->lit:I

    .line 185
    const/4 v2, 0x6

    move-object/from16 v0, p0

    iput v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->mode:I

    move/from16 v19, v20

    .line 186
    .end local v20           #p:I
    .restart local v19       #p:I
    goto/16 :goto_0

    .line 188
    .end local v19           #p:I
    .restart local v20       #p:I
    :cond_6
    and-int/lit8 v2, v12, 0x10

    if-eqz v2, :cond_7

    .line 189
    and-int/lit8 v2, v12, 0xf

    move-object/from16 v0, p0

    iput v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->get:I

    .line 190
    move-object/from16 v0, p0

    iget-object v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->tree:[I

    add-int/lit8 v3, v23, 0x2

    aget v2, v2, v3

    move-object/from16 v0, p0

    iput v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->len:I

    .line 191
    const/4 v2, 0x2

    move-object/from16 v0, p0

    iput v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->mode:I

    move/from16 v19, v20

    .line 192
    .end local v20           #p:I
    .restart local v19       #p:I
    goto/16 :goto_0

    .line 194
    .end local v19           #p:I
    .restart local v20       #p:I
    :cond_7
    and-int/lit8 v2, v12, 0x40

    if-nez v2, :cond_8

    .line 195
    move-object/from16 v0, p0

    iput v12, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->need:I

    .line 196
    div-int/lit8 v2, v23, 0x3

    move-object/from16 v0, p0

    iget-object v3, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->tree:[I

    add-int/lit8 v4, v23, 0x2

    aget v3, v3, v4

    add-int/2addr v2, v3

    move-object/from16 v0, p0

    iput v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->tree_index:I

    move/from16 v19, v20

    .line 197
    .end local v20           #p:I
    .restart local v19       #p:I
    goto/16 :goto_0

    .line 199
    .end local v19           #p:I
    .restart local v20       #p:I
    :cond_8
    and-int/lit8 v2, v12, 0x20

    if-eqz v2, :cond_9

    .line 200
    const/4 v2, 0x7

    move-object/from16 v0, p0

    iput v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->mode:I

    move/from16 v19, v20

    .line 201
    .end local v20           #p:I
    .restart local v19       #p:I
    goto/16 :goto_0

    .line 203
    .end local v19           #p:I
    .restart local v20       #p:I
    :cond_9
    const/16 v2, 0x9

    move-object/from16 v0, p0

    iput v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->mode:I

    .line 204
    const-string v2, "invalid literal/length code"

    move-object/from16 v0, p2

    iput-object v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->msg:Ljava/lang/String;

    .line 205
    const/16 p3, -0x3

    .line 207
    move-object/from16 v0, p1

    iput v11, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitb:I

    .line 208
    move/from16 v0, v16

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitk:I

    .line 209
    move/from16 v0, v18

    move-object/from16 v1, p2

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/ZStream;->avail_in:I

    .line 210
    move-object/from16 v0, p2

    iget-wide v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    move-object/from16 v0, p2

    iget v4, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    sub-int v4, v20, v4

    int-to-long v4, v4

    add-long/2addr v2, v4

    move-object/from16 v0, p2

    iput-wide v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    .line 211
    move/from16 v0, v20

    move-object/from16 v1, p2

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    .line 212
    move/from16 v0, v21

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->write:I

    .line 213
    invoke-virtual/range {p1 .. p3}, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->inflate_flush(Lorg/jboss/netty/util/internal/jzlib/ZStream;I)I

    move-result v2

    move/from16 v19, v20

    .end local v20           #p:I
    .restart local v19       #p:I
    goto/16 :goto_1

    .line 216
    .end local v12           #e:I
    .end local v15           #j:I
    .end local v23           #tindex:I
    :pswitch_2
    move-object/from16 v0, p0

    iget v15, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->get:I

    .restart local v15       #j:I
    move/from16 v20, v19

    .line 218
    .end local v19           #p:I
    .restart local v20       #p:I
    :goto_5
    move/from16 v0, v16

    if-ge v0, v15, :cond_b

    .line 219
    if-eqz v18, :cond_a

    .line 220
    const/16 p3, 0x0

    .line 231
    add-int/lit8 v18, v18, -0x1

    .line 232
    move-object/from16 v0, p2

    iget-object v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in:[B

    add-int/lit8 v19, v20, 0x1

    .end local v20           #p:I
    .restart local v19       #p:I
    aget-byte v2, v2, v20

    and-int/lit16 v2, v2, 0xff

    shl-int v2, v2, v16

    or-int/2addr v11, v2

    .line 233
    add-int/lit8 v16, v16, 0x8

    move/from16 v20, v19

    .end local v19           #p:I
    .restart local v20       #p:I
    goto :goto_5

    .line 223
    :cond_a
    move-object/from16 v0, p1

    iput v11, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitb:I

    .line 224
    move/from16 v0, v16

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitk:I

    .line 225
    move/from16 v0, v18

    move-object/from16 v1, p2

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/ZStream;->avail_in:I

    .line 226
    move-object/from16 v0, p2

    iget-wide v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    move-object/from16 v0, p2

    iget v4, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    sub-int v4, v20, v4

    int-to-long v4, v4

    add-long/2addr v2, v4

    move-object/from16 v0, p2

    iput-wide v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    .line 227
    move/from16 v0, v20

    move-object/from16 v1, p2

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    .line 228
    move/from16 v0, v21

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->write:I

    .line 229
    invoke-virtual/range {p1 .. p3}, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->inflate_flush(Lorg/jboss/netty/util/internal/jzlib/ZStream;I)I

    move-result v2

    move/from16 v19, v20

    .end local v20           #p:I
    .restart local v19       #p:I
    goto/16 :goto_1

    .line 236
    .end local v19           #p:I
    .restart local v20       #p:I
    :cond_b
    move-object/from16 v0, p0

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->len:I

    sget-object v3, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->inflate_mask:[I

    aget v3, v3, v15

    and-int/2addr v3, v11

    add-int/2addr v2, v3

    move-object/from16 v0, p0

    iput v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->len:I

    .line 238
    shr-int/2addr v11, v15

    .line 239
    sub-int v16, v16, v15

    .line 241
    move-object/from16 v0, p0

    iget-byte v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->dbits:B

    move-object/from16 v0, p0

    iput v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->need:I

    .line 242
    move-object/from16 v0, p0

    iget-object v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->dtree:[I

    move-object/from16 v0, p0

    iput-object v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->tree:[I

    .line 243
    move-object/from16 v0, p0

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->dtree_index:I

    move-object/from16 v0, p0

    iput v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->tree_index:I

    .line 244
    const/4 v2, 0x3

    move-object/from16 v0, p0

    iput v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->mode:I

    move/from16 v19, v20

    .line 246
    .end local v15           #j:I
    .end local v20           #p:I
    .restart local v19       #p:I
    :pswitch_3
    move-object/from16 v0, p0

    iget v15, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->need:I

    .restart local v15       #j:I
    move/from16 v20, v19

    .line 248
    .end local v19           #p:I
    .restart local v20       #p:I
    :goto_6
    move/from16 v0, v16

    if-ge v0, v15, :cond_d

    .line 249
    if-eqz v18, :cond_c

    .line 250
    const/16 p3, 0x0

    .line 261
    add-int/lit8 v18, v18, -0x1

    .line 262
    move-object/from16 v0, p2

    iget-object v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in:[B

    add-int/lit8 v19, v20, 0x1

    .end local v20           #p:I
    .restart local v19       #p:I
    aget-byte v2, v2, v20

    and-int/lit16 v2, v2, 0xff

    shl-int v2, v2, v16

    or-int/2addr v11, v2

    .line 263
    add-int/lit8 v16, v16, 0x8

    move/from16 v20, v19

    .end local v19           #p:I
    .restart local v20       #p:I
    goto :goto_6

    .line 253
    :cond_c
    move-object/from16 v0, p1

    iput v11, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitb:I

    .line 254
    move/from16 v0, v16

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitk:I

    .line 255
    move/from16 v0, v18

    move-object/from16 v1, p2

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/ZStream;->avail_in:I

    .line 256
    move-object/from16 v0, p2

    iget-wide v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    move-object/from16 v0, p2

    iget v4, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    sub-int v4, v20, v4

    int-to-long v4, v4

    add-long/2addr v2, v4

    move-object/from16 v0, p2

    iput-wide v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    .line 257
    move/from16 v0, v20

    move-object/from16 v1, p2

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    .line 258
    move/from16 v0, v21

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->write:I

    .line 259
    invoke-virtual/range {p1 .. p3}, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->inflate_flush(Lorg/jboss/netty/util/internal/jzlib/ZStream;I)I

    move-result v2

    move/from16 v19, v20

    .end local v20           #p:I
    .restart local v19       #p:I
    goto/16 :goto_1

    .line 266
    .end local v19           #p:I
    .restart local v20       #p:I
    :cond_d
    move-object/from16 v0, p0

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->tree_index:I

    sget-object v3, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->inflate_mask:[I

    aget v3, v3, v15

    and-int/2addr v3, v11

    add-int/2addr v2, v3

    mul-int/lit8 v23, v2, 0x3

    .line 268
    .restart local v23       #tindex:I
    move-object/from16 v0, p0

    iget-object v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->tree:[I

    add-int/lit8 v3, v23, 0x1

    aget v2, v2, v3

    shr-int/2addr v11, v2

    .line 269
    move-object/from16 v0, p0

    iget-object v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->tree:[I

    add-int/lit8 v3, v23, 0x1

    aget v2, v2, v3

    sub-int v16, v16, v2

    .line 271
    move-object/from16 v0, p0

    iget-object v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->tree:[I

    aget v12, v2, v23

    .line 272
    .restart local v12       #e:I
    and-int/lit8 v2, v12, 0x10

    if-eqz v2, :cond_e

    .line 273
    and-int/lit8 v2, v12, 0xf

    move-object/from16 v0, p0

    iput v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->get:I

    .line 274
    move-object/from16 v0, p0

    iget-object v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->tree:[I

    add-int/lit8 v3, v23, 0x2

    aget v2, v2, v3

    move-object/from16 v0, p0

    iput v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->dist:I

    .line 275
    const/4 v2, 0x4

    move-object/from16 v0, p0

    iput v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->mode:I

    move/from16 v19, v20

    .line 276
    .end local v20           #p:I
    .restart local v19       #p:I
    goto/16 :goto_0

    .line 278
    .end local v19           #p:I
    .restart local v20       #p:I
    :cond_e
    and-int/lit8 v2, v12, 0x40

    if-nez v2, :cond_f

    .line 279
    move-object/from16 v0, p0

    iput v12, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->need:I

    .line 280
    div-int/lit8 v2, v23, 0x3

    move-object/from16 v0, p0

    iget-object v3, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->tree:[I

    add-int/lit8 v4, v23, 0x2

    aget v3, v3, v4

    add-int/2addr v2, v3

    move-object/from16 v0, p0

    iput v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->tree_index:I

    move/from16 v19, v20

    .line 281
    .end local v20           #p:I
    .restart local v19       #p:I
    goto/16 :goto_0

    .line 283
    .end local v19           #p:I
    .restart local v20       #p:I
    :cond_f
    const/16 v2, 0x9

    move-object/from16 v0, p0

    iput v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->mode:I

    .line 284
    const-string v2, "invalid distance code"

    move-object/from16 v0, p2

    iput-object v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->msg:Ljava/lang/String;

    .line 285
    const/16 p3, -0x3

    .line 287
    move-object/from16 v0, p1

    iput v11, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitb:I

    .line 288
    move/from16 v0, v16

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitk:I

    .line 289
    move/from16 v0, v18

    move-object/from16 v1, p2

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/ZStream;->avail_in:I

    .line 290
    move-object/from16 v0, p2

    iget-wide v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    move-object/from16 v0, p2

    iget v4, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    sub-int v4, v20, v4

    int-to-long v4, v4

    add-long/2addr v2, v4

    move-object/from16 v0, p2

    iput-wide v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    .line 291
    move/from16 v0, v20

    move-object/from16 v1, p2

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    .line 292
    move/from16 v0, v21

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->write:I

    .line 293
    invoke-virtual/range {p1 .. p3}, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->inflate_flush(Lorg/jboss/netty/util/internal/jzlib/ZStream;I)I

    move-result v2

    move/from16 v19, v20

    .end local v20           #p:I
    .restart local v19       #p:I
    goto/16 :goto_1

    .line 296
    .end local v12           #e:I
    .end local v15           #j:I
    .end local v23           #tindex:I
    :pswitch_4
    move-object/from16 v0, p0

    iget v15, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->get:I

    .restart local v15       #j:I
    move/from16 v20, v19

    .line 298
    .end local v19           #p:I
    .restart local v20       #p:I
    :goto_7
    move/from16 v0, v16

    if-ge v0, v15, :cond_11

    .line 299
    if-eqz v18, :cond_10

    .line 300
    const/16 p3, 0x0

    .line 311
    add-int/lit8 v18, v18, -0x1

    .line 312
    move-object/from16 v0, p2

    iget-object v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in:[B

    add-int/lit8 v19, v20, 0x1

    .end local v20           #p:I
    .restart local v19       #p:I
    aget-byte v2, v2, v20

    and-int/lit16 v2, v2, 0xff

    shl-int v2, v2, v16

    or-int/2addr v11, v2

    .line 313
    add-int/lit8 v16, v16, 0x8

    move/from16 v20, v19

    .end local v19           #p:I
    .restart local v20       #p:I
    goto :goto_7

    .line 303
    :cond_10
    move-object/from16 v0, p1

    iput v11, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitb:I

    .line 304
    move/from16 v0, v16

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitk:I

    .line 305
    move/from16 v0, v18

    move-object/from16 v1, p2

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/ZStream;->avail_in:I

    .line 306
    move-object/from16 v0, p2

    iget-wide v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    move-object/from16 v0, p2

    iget v4, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    sub-int v4, v20, v4

    int-to-long v4, v4

    add-long/2addr v2, v4

    move-object/from16 v0, p2

    iput-wide v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    .line 307
    move/from16 v0, v20

    move-object/from16 v1, p2

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    .line 308
    move/from16 v0, v21

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->write:I

    .line 309
    invoke-virtual/range {p1 .. p3}, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->inflate_flush(Lorg/jboss/netty/util/internal/jzlib/ZStream;I)I

    move-result v2

    move/from16 v19, v20

    .end local v20           #p:I
    .restart local v19       #p:I
    goto/16 :goto_1

    .line 316
    .end local v19           #p:I
    .restart local v20       #p:I
    :cond_11
    move-object/from16 v0, p0

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->dist:I

    sget-object v3, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->inflate_mask:[I

    aget v3, v3, v15

    and-int/2addr v3, v11

    add-int/2addr v2, v3

    move-object/from16 v0, p0

    iput v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->dist:I

    .line 318
    shr-int/2addr v11, v15

    .line 319
    sub-int v16, v16, v15

    .line 321
    const/4 v2, 0x5

    move-object/from16 v0, p0

    iput v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->mode:I

    move/from16 v19, v20

    .line 323
    .end local v15           #j:I
    .end local v20           #p:I
    .restart local v19       #p:I
    :pswitch_5
    move-object/from16 v0, p0

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->dist:I

    sub-int v13, v21, v2

    .line 324
    .local v13, f:I
    :goto_8
    if-gez v13, :cond_13

    .line 325
    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->end:I

    add-int/2addr v13, v2

    goto :goto_8

    .line 357
    :cond_12
    move-object/from16 v0, p1

    iget-object v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->window:[B

    add-int/lit8 v22, v21, 0x1

    .end local v21           #q:I
    .local v22, q:I
    move-object/from16 v0, p1

    iget-object v3, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->window:[B

    add-int/lit8 v14, v13, 0x1

    .end local v13           #f:I
    .local v14, f:I
    aget-byte v3, v3, v13

    aput-byte v3, v2, v21

    .line 358
    add-int/lit8 v17, v17, -0x1

    .line 360
    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->end:I

    if-ne v14, v2, :cond_22

    .line 361
    const/4 v13, 0x0

    .line 363
    .end local v14           #f:I
    .restart local v13       #f:I
    :goto_9
    move-object/from16 v0, p0

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->len:I

    add-int/lit8 v2, v2, -0x1

    move-object/from16 v0, p0

    iput v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->len:I

    move/from16 v21, v22

    .line 327
    .end local v22           #q:I
    .restart local v21       #q:I
    :cond_13
    move-object/from16 v0, p0

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->len:I

    if-eqz v2, :cond_19

    .line 329
    if-nez v17, :cond_12

    .line 330
    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->end:I

    move/from16 v0, v21

    if-ne v0, v2, :cond_14

    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->read:I

    if-eqz v2, :cond_14

    .line 331
    const/16 v21, 0x0

    .line 332
    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->read:I

    move/from16 v0, v21

    if-ge v0, v2, :cond_16

    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->read:I

    sub-int v2, v2, v21

    add-int/lit8 v17, v2, -0x1

    .line 334
    :cond_14
    :goto_a
    if-nez v17, :cond_12

    .line 335
    move/from16 v0, v21

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->write:I

    .line 336
    invoke-virtual/range {p1 .. p3}, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->inflate_flush(Lorg/jboss/netty/util/internal/jzlib/ZStream;I)I

    move-result p3

    .line 337
    move-object/from16 v0, p1

    iget v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->write:I

    move/from16 v21, v0

    .line 338
    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->read:I

    move/from16 v0, v21

    if-ge v0, v2, :cond_17

    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->read:I

    sub-int v2, v2, v21

    add-int/lit8 v17, v2, -0x1

    .line 340
    :goto_b
    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->end:I

    move/from16 v0, v21

    if-ne v0, v2, :cond_15

    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->read:I

    if-eqz v2, :cond_15

    .line 341
    const/16 v21, 0x0

    .line 342
    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->read:I

    move/from16 v0, v21

    if-ge v0, v2, :cond_18

    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->read:I

    sub-int v2, v2, v21

    add-int/lit8 v17, v2, -0x1

    .line 345
    :cond_15
    :goto_c
    if-nez v17, :cond_12

    .line 346
    move-object/from16 v0, p1

    iput v11, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitb:I

    .line 347
    move/from16 v0, v16

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitk:I

    .line 348
    move/from16 v0, v18

    move-object/from16 v1, p2

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/ZStream;->avail_in:I

    .line 349
    move-object/from16 v0, p2

    iget-wide v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    move-object/from16 v0, p2

    iget v4, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    sub-int v4, v19, v4

    int-to-long v4, v4

    add-long/2addr v2, v4

    move-object/from16 v0, p2

    iput-wide v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    .line 350
    move/from16 v0, v19

    move-object/from16 v1, p2

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    .line 351
    move/from16 v0, v21

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->write:I

    .line 352
    invoke-virtual/range {p1 .. p3}, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->inflate_flush(Lorg/jboss/netty/util/internal/jzlib/ZStream;I)I

    move-result v2

    goto/16 :goto_1

    .line 332
    :cond_16
    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->end:I

    sub-int v17, v2, v21

    goto :goto_a

    .line 338
    :cond_17
    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->end:I

    sub-int v17, v2, v21

    goto :goto_b

    .line 342
    :cond_18
    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->end:I

    sub-int v17, v2, v21

    goto :goto_c

    .line 365
    :cond_19
    const/4 v2, 0x0

    move-object/from16 v0, p0

    iput v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->mode:I

    goto/16 :goto_0

    .line 368
    .end local v13           #f:I
    :pswitch_6
    if-nez v17, :cond_1f

    .line 369
    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->end:I

    move/from16 v0, v21

    if-ne v0, v2, :cond_1a

    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->read:I

    if-eqz v2, :cond_1a

    .line 370
    const/16 v21, 0x0

    .line 371
    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->read:I

    move/from16 v0, v21

    if-ge v0, v2, :cond_1c

    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->read:I

    sub-int v2, v2, v21

    add-int/lit8 v17, v2, -0x1

    .line 373
    :cond_1a
    :goto_d
    if-nez v17, :cond_1f

    .line 374
    move/from16 v0, v21

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->write:I

    .line 375
    invoke-virtual/range {p1 .. p3}, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->inflate_flush(Lorg/jboss/netty/util/internal/jzlib/ZStream;I)I

    move-result p3

    .line 376
    move-object/from16 v0, p1

    iget v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->write:I

    move/from16 v21, v0

    .line 377
    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->read:I

    move/from16 v0, v21

    if-ge v0, v2, :cond_1d

    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->read:I

    sub-int v2, v2, v21

    add-int/lit8 v17, v2, -0x1

    .line 379
    :goto_e
    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->end:I

    move/from16 v0, v21

    if-ne v0, v2, :cond_1b

    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->read:I

    if-eqz v2, :cond_1b

    .line 380
    const/16 v21, 0x0

    .line 381
    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->read:I

    move/from16 v0, v21

    if-ge v0, v2, :cond_1e

    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->read:I

    sub-int v2, v2, v21

    add-int/lit8 v17, v2, -0x1

    .line 383
    :cond_1b
    :goto_f
    if-nez v17, :cond_1f

    .line 384
    move-object/from16 v0, p1

    iput v11, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitb:I

    .line 385
    move/from16 v0, v16

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitk:I

    .line 386
    move/from16 v0, v18

    move-object/from16 v1, p2

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/ZStream;->avail_in:I

    .line 387
    move-object/from16 v0, p2

    iget-wide v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    move-object/from16 v0, p2

    iget v4, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    sub-int v4, v19, v4

    int-to-long v4, v4

    add-long/2addr v2, v4

    move-object/from16 v0, p2

    iput-wide v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    .line 388
    move/from16 v0, v19

    move-object/from16 v1, p2

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    .line 389
    move/from16 v0, v21

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->write:I

    .line 390
    invoke-virtual/range {p1 .. p3}, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->inflate_flush(Lorg/jboss/netty/util/internal/jzlib/ZStream;I)I

    move-result v2

    goto/16 :goto_1

    .line 371
    :cond_1c
    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->end:I

    sub-int v17, v2, v21

    goto :goto_d

    .line 377
    :cond_1d
    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->end:I

    sub-int v17, v2, v21

    goto :goto_e

    .line 381
    :cond_1e
    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->end:I

    sub-int v17, v2, v21

    goto :goto_f

    .line 394
    :cond_1f
    const/16 p3, 0x0

    .line 396
    move-object/from16 v0, p1

    iget-object v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->window:[B

    add-int/lit8 v22, v21, 0x1

    .end local v21           #q:I
    .restart local v22       #q:I
    move-object/from16 v0, p0

    iget v3, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->lit:I

    int-to-byte v3, v3

    aput-byte v3, v2, v21

    .line 397
    add-int/lit8 v17, v17, -0x1

    .line 399
    const/4 v2, 0x0

    move-object/from16 v0, p0

    iput v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->mode:I

    move/from16 v21, v22

    .line 400
    .end local v22           #q:I
    .restart local v21       #q:I
    goto/16 :goto_0

    .line 402
    :pswitch_7
    const/4 v2, 0x7

    move/from16 v0, v16

    if-le v0, v2, :cond_20

    .line 403
    add-int/lit8 v16, v16, -0x8

    .line 404
    add-int/lit8 v18, v18, 0x1

    .line 405
    add-int/lit8 v19, v19, -0x1

    .line 408
    :cond_20
    move/from16 v0, v21

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->write:I

    .line 409
    invoke-virtual/range {p1 .. p3}, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->inflate_flush(Lorg/jboss/netty/util/internal/jzlib/ZStream;I)I

    move-result p3

    .line 410
    move-object/from16 v0, p1

    iget v0, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->write:I

    move/from16 v21, v0

    .line 412
    move-object/from16 v0, p1

    iget v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->read:I

    move-object/from16 v0, p1

    iget v3, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->write:I

    if-eq v2, v3, :cond_21

    .line 413
    move-object/from16 v0, p1

    iput v11, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitb:I

    .line 414
    move/from16 v0, v16

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitk:I

    .line 415
    move/from16 v0, v18

    move-object/from16 v1, p2

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/ZStream;->avail_in:I

    .line 416
    move-object/from16 v0, p2

    iget-wide v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    move-object/from16 v0, p2

    iget v4, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    sub-int v4, v19, v4

    int-to-long v4, v4

    add-long/2addr v2, v4

    move-object/from16 v0, p2

    iput-wide v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    .line 417
    move/from16 v0, v19

    move-object/from16 v1, p2

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    .line 418
    move/from16 v0, v21

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->write:I

    .line 419
    invoke-virtual/range {p1 .. p3}, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->inflate_flush(Lorg/jboss/netty/util/internal/jzlib/ZStream;I)I

    move-result v2

    goto/16 :goto_1

    .line 421
    :cond_21
    const/16 v2, 0x8

    move-object/from16 v0, p0

    iput v2, v0, Lorg/jboss/netty/util/internal/jzlib/InfCodes;->mode:I

    .line 423
    :pswitch_8
    const/16 p3, 0x1

    .line 424
    move-object/from16 v0, p1

    iput v11, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitb:I

    .line 425
    move/from16 v0, v16

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitk:I

    .line 426
    move/from16 v0, v18

    move-object/from16 v1, p2

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/ZStream;->avail_in:I

    .line 427
    move-object/from16 v0, p2

    iget-wide v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    move-object/from16 v0, p2

    iget v4, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    sub-int v4, v19, v4

    int-to-long v4, v4

    add-long/2addr v2, v4

    move-object/from16 v0, p2

    iput-wide v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    .line 428
    move/from16 v0, v19

    move-object/from16 v1, p2

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    .line 429
    move/from16 v0, v21

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->write:I

    .line 430
    invoke-virtual/range {p1 .. p3}, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->inflate_flush(Lorg/jboss/netty/util/internal/jzlib/ZStream;I)I

    move-result v2

    goto/16 :goto_1

    .line 434
    :pswitch_9
    const/16 p3, -0x3

    .line 436
    move-object/from16 v0, p1

    iput v11, v0, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitb:I

    .line 437
    move/from16 v0, v16

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->bitk:I

    .line 438
    move/from16 v0, v18

    move-object/from16 v1, p2

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/ZStream;->avail_in:I

    .line 439
    move-object/from16 v0, p2

    iget-wide v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    move-object/from16 v0, p2

    iget v4, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    sub-int v4, v19, v4

    int-to-long v4, v4

    add-long/2addr v2, v4

    move-object/from16 v0, p2

    iput-wide v2, v0, Lorg/jboss/netty/util/internal/jzlib/ZStream;->total_in:J

    .line 440
    move/from16 v0, v19

    move-object/from16 v1, p2

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/ZStream;->next_in_index:I

    .line 441
    move/from16 v0, v21

    move-object/from16 v1, p1

    iput v0, v1, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->write:I

    .line 442
    invoke-virtual/range {p1 .. p3}, Lorg/jboss/netty/util/internal/jzlib/InfBlocks;->inflate_flush(Lorg/jboss/netty/util/internal/jzlib/ZStream;I)I

    move-result v2

    goto/16 :goto_1

    .end local v21           #q:I
    .restart local v14       #f:I
    .restart local v22       #q:I
    :cond_22
    move v13, v14

    .end local v14           #f:I
    .restart local v13       #f:I
    goto/16 :goto_9

    .line 124
    nop

    :pswitch_data_0
    .packed-switch 0x0
        :pswitch_0
        :pswitch_1
        :pswitch_2
        :pswitch_3
        :pswitch_4
        :pswitch_5
        :pswitch_6
        :pswitch_7
        :pswitch_8
        :pswitch_9
    .end packed-switch
.end method
